package br.com.citta.business.entities;

import java.io.Serializable;
import java.util.Calendar;
import java.util.List;

public class Empenho implements Serializable{
    
    private EmpenhoId id;
    
    private String codigoDespesa;
    
    private Credor credor;
    
    private Calendar dataEmpenho;

    private String tipoLicitacao;
    
    private String numeroLicitacao;
    
    private String descricao;
    
    private Double valorEmpenho;
    
    private String baseLegal;
    
    private List<MovimentoEmpenho> movimentosEmpenho;
    
    private transient String numero;
    

    public Empenho() {
    }

    public EmpenhoId getId() {
        return id;
    }

    public void setId(EmpenhoId id) {
        this.id = id;
    }

    public String getCodigoDespesa() {
        return codigoDespesa;
    }

    public void setCodigoDespesa(String codigoDespesa) {
        this.codigoDespesa = codigoDespesa;
    }

    public Credor getCredor() {
        return credor;
    }

    public void setCredor(Credor credor) {
        this.credor = credor;
    }

    public Calendar getDataEmpenho() {
        return dataEmpenho;
    }

    public void setDataEmpenho(Calendar dataEmpenho) {
        this.dataEmpenho = dataEmpenho;
    }

    public String getTipoLicitacao() {
        return tipoLicitacao;
    }

    public void setTipoLicitacao(String tipoLicitacao) {
        this.tipoLicitacao = tipoLicitacao;
    }

    public String getNumeroLicitacao() {
        return numeroLicitacao;
    }

    public void setNumeroLicitacao(String numeroLicitacao) {
        this.numeroLicitacao = numeroLicitacao;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Double getValorEmpenho() {
        return valorEmpenho;
    }

    public void setValorEmpenho(Double valorEmpenho) {
        this.valorEmpenho = valorEmpenho;
    }

    public String getBaseLegal() {
        return baseLegal;
    }

    public void setBaseLegal(String baseLegal) {
        this.baseLegal = baseLegal;
    }

    public List<MovimentoEmpenho> getMovimentosEmpenho() {
        return movimentosEmpenho;
    }

    public void setMovimentosEmpenho(List<MovimentoEmpenho> movimentosEmpenho) {
        this.movimentosEmpenho = movimentosEmpenho;
    }

    public String getNumero() {
        StringBuilder sb = new StringBuilder();
        sb.append(String.format("%02d", getId().getPlanoDespesa().getId().getUnidadeGestora().getId().getCodigo()));
        sb.append(getId().getPlanoDespesa().getId().getUnidadeGestora().getId().getAnoBase()).append("/");
        sb.append(getId().getNumero());
        numero = sb.toString();
        return numero;
    }

    public void setNumero(String Numero) {
        this.numero = numero;
    }

}
